Trustworthy Tools for Trustworthy Programs: Automatic Verification of Mutually Recursive Procedures

نویسندگان

  • Peter V. Homeier
  • David F. Martin
چکیده

Verification Condition Generator (VCG) tools have been effective in simplifying the task of proving programs correct. However, in the past these VCG tools have in general not themselves been mechanically proven, so any proof using and depending on these VCGs might have contained errors. In our work, we define and rigorously prove correct a VCG tool within the HOL theorem proving system, for a standard imperative language, notably containing mutually recursive procedures and expressions with side effects. Starting from a structural operational semantics of this programming language, we prove as theorems the axioms and rules of inference of a Hoare-style axiomatic semantics, verifying their soundness. This axiomatic semantics is then used to define and prove correct a VCG tool for this language. Finally, this verified VCG is applied to example programs to verify their partial correctness.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Secure mechanical verification of mutually recursive procedures

The veriication of programs that contain mutually recursive procedures is a diicult task, and one which has not been satisfactorily addressed in the literature. Published proof rules have been later discovered to be unsound. Veriication Condition Generator (VCG) tools have been eeective in partially automating the veriication of programs, but in the past these VCG tools have in general not them...

متن کامل

Trustworthy Tools for Trustworthy Programs: A Verified Verification Condition Generator

Verification Condition Generator (VCG) tools have been effective in simplifying the task of proving programs correct. However, in the past these VCG tools have in general not themselves been mechanically proven, so any proof using and depending on these VCGs might have contained errors. In our work, we define and rigorously prove correct a VCG tool within the HOL theorem proving system, for a s...

متن کامل

Verified Resource Guarantees for Heap Manipulating Programs

Program properties that are automatically inferred by static analysis tools are generally not considered to be completely trustworthy, unless the tool implementation or the results are formally verified. Here we focus on the formal verification of resource guarantees inferred by automatic cost analysis. Resource guarantees ensure that programs run within the indicated amount of resources which ...

متن کامل

Trustworthy decompilation: extracting models of machine code inside an ITP

Modern processors support a large numbers of instructions and a multitude of features; as a result, detailed formal models of real instruction set architectures (ISAs) are long and hard to understand. Established approaches for proving functional properties on top of these models tie proofs to a specific model and require expert knowledge of the underlying model and substantial manual effort of...

متن کامل

Trustworthy Construction Approach of BPR Software System Based on Semantic Model Verification

Addressing to improve the trustworthiness of Business Process Re-engineering (BPR) system, this paper proposes a trustworthy construction approach to solve the problem mentioned above. Firstly, we analyze related literatures about the topic, we realize that main reason causing to reduce trustworthiness of BPR system is due to break of trustworthy connectivity between front configuration tools a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994